home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_long_future.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  2KB  |  74 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. from __future__ import division
  5. from test.test_support import TestFailed, verify, verbose
  6.  
  7. def test_true_division():
  8.     if verbose:
  9.         print 'long true division'
  10.     
  11.     huge = 0x1L << 40000
  12.     mhuge = -huge
  13.     verify(huge / huge == 1.0)
  14.     verify(mhuge / mhuge == 1.0)
  15.     verify(huge / mhuge == -1.0)
  16.     verify(mhuge / huge == -1.0)
  17.     verify(1 / huge == 0.0)
  18.     verify(0x1L / huge == 0.0)
  19.     verify(1 / mhuge == 0.0)
  20.     verify(0x1L / mhuge == 0.0)
  21.     verify((666 * huge + (huge >> 1)) / huge == 666.5)
  22.     verify((666 * mhuge + (mhuge >> 1)) / mhuge == 666.5)
  23.     verify((666 * huge + (huge >> 1)) / mhuge == -666.5)
  24.     verify((666 * mhuge + (mhuge >> 1)) / huge == -666.5)
  25.     verify(huge / (huge << 1) == 0.5)
  26.     verify(1000000 * huge / huge == 1000000)
  27.     namespace = {
  28.         'huge': huge,
  29.         'mhuge': mhuge }
  30.     for overflow in [
  31.         'float(huge)',
  32.         'float(mhuge)',
  33.         'huge / 1',
  34.         'huge / 2L',
  35.         'huge / -1',
  36.         'huge / -2L',
  37.         'mhuge / 100',
  38.         'mhuge / 100L']:
  39.         
  40.         try:
  41.             eval(overflow, namespace)
  42.         except OverflowError:
  43.             continue
  44.  
  45.         raise TestFailed('expected OverflowError from %r' % overflow)
  46.     
  47.     for underflow in [
  48.         '1 / huge',
  49.         '2L / huge',
  50.         '-1 / huge',
  51.         '-2L / huge',
  52.         '100 / mhuge',
  53.         '100L / mhuge']:
  54.         result = eval(underflow, namespace)
  55.         if result != 0.0:
  56.             raise TestFailed('expected underflow to 0 from %r' % underflow)
  57.             continue
  58.     
  59.     for zero in [
  60.         'huge / 0',
  61.         'huge / 0L',
  62.         'mhuge / 0',
  63.         'mhuge / 0L']:
  64.         
  65.         try:
  66.             eval(zero, namespace)
  67.         except ZeroDivisionError:
  68.             continue
  69.  
  70.         raise TestFailed('expected ZeroDivisionError from %r' % zero)
  71.     
  72.  
  73. test_true_division()
  74.